ESP32

您所在的位置:网站首页 esp32 wifi ap ESP32

ESP32

#ESP32| 来源: 网络整理| 查看: 265

ESP32-C3和CH573都是RISC-V核心的2.4G无线SoC,价格都不高,可以考虑用来替代涨价的通用MCU,最近刚刚盘完这两款芯片,先说结论:CH573更适合当作通用MCU来使用。本文从几个方面来进行对比。

核心性能

两者都是RV32IMAC核心,ESP32-C3主频最高160M四级流水线,CH573最高60M两级流水线,性能方面显然ESP32-C3更强。当然考虑功耗两者实际使用中往往都不会用到最高频率。

存储资源

ESP32-C3有384kB的ROM和400kB的SRAM,FLASH是可选的,有内置512kB版本。CH573有18kB的SRAM,全系标配了512kB的FLASH。

纸面数据上显然是ESP32-C3更强,尤其是SRAM两者有数量级的差距。CH573也没有内置的ROM固化蓝牙的协议栈,协议栈部分都要放到512kB的FLASH中,当然不用蓝牙的话这些FLASH都可以存储用户代码,448kB的程序FLASH基本可以实现FLASH自由了。18kB的SRAM又要放数据,又要放部分高性能代码,确实是比较紧张的,考虑到很多入门级的通用MCU只有8kB的SRAM也用得好好的,问题也不是很大。

芯片外围

两者外围都不算复杂,CH573的外围更简单一些,甚至连晶振的负载电容都不需要。电源不用DCDC的话,直接一路3.3V就可以了,去耦电容最少只需要3个。ESP32-C3考虑外接SPI FLASH就比较麻烦了。

可用IO

同样是CH573更好,QFN28封装有20个用户可用IO;而ESP-32C3由于要考虑外接FLASH,QSPI接口就占用了6个IO,导致用户实际可用的IO更少,而且内置FLASH的版本这6个IO用户也不能用。

开发环境

开发环境分别是ESP-IDF和MounRiver,代表了设计思想的两个极端。

ESP-IDF大而全,配置使用非常繁琐,往往用户需要花很多时间来搞环境,全部命令行操作,还依赖github,从github上找上GB的包依赖很多时候是非常崩溃的,很多小白用户光环境就够他们喝一壶的了。要想使用好ESP-IDF,用户必须熟练使用Linux命令行,最好会写shell脚本,会写python脚本,会写makefile。

MounRiver是基于Eclipse的,这是一个非常好用的IDE框架,上手简单,WCH可能是觉得它还不够简单,于是就对它进行了一些负优化:弱化了Eclipse本身的workspace功能,把MDK和VS的solution和project移植过来,分别搞了两个配置文件,源文件编码全部设置成GBK,完全不考虑Eclipse老用户和Linux用户的感受。那么多的基于Eclipse做开发环境的厂家,WCH这么做也算是独树一帜了。

整体用下来还是MounRiver更好一些,开箱即用,把时间浪费在配置环境上是非常不划算的。

下载与调试

下载方面,ESP32-C3的esptool已经非常好用了,不过CH573的下载更好一些,直接用USB下载,速度更快,也不需要外部的工具。

调试方面,ESP32-C3只能依赖串口log,四线JTAG基本没人用。CH573除了串口Log,还有两线的SWD接口可用,这在RISC-V里面也算是独树一帜,调试直接在MounRiver里进行,不会让用户直接操作openocd,降低了使用门槛。

功耗

CH573更低一些,不用蓝牙的话,代码里没有任何协议栈的内容,实测60M主频,使能USB,实测7.2mA。甚至比很多通用MCU功耗还低。

ESP32-C3由于依赖ESP-IDF框架,底层的协议栈不太好剥离,实际功耗也更高一些。更早的Xtensa核心版本比如ESP8266等,功耗更高。

外设

ESP32-C3的外设相比ESP8266好了很多,基本的GPIO/SPI/UART/DMA都有,还有个USB,当然这个USB只能当CDC或者JTAG使用,对用户来说并不是很友好。

CH573基本的GPIO/SPI/UART/DMA也都有,它的USB接口和CH552基本是一样的,十分适合做USB应用,用CH552但是8051性能又不够的场合,用CH573来替换就再合适不过了。CH573虽然是RISC-V核心,但是外设使用起来和8位的CH552更像一些,直接使用寄存器来操作就很方便,官方提供的SDK也只是对寄存器进行了很薄的一层封装。

成本

截止2021年11月4日,ESP32-C3大约5.x元,CH573大约3.x元,CH573更便宜一些。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3